﻿using System;
using System.Collections.Generic;
using System.ServiceModel;

namespace DataProviderService
{
    [ServiceContract]
    public interface IRegOnlineDPS
    {

        [OperationContract]
        String GetKafedra(int id_UP);

        [OperationContract]
        String GetFioPrepod(int id_UP);

        [OperationContract]
        String GetFacultet(int idUspevDocs);

        [OperationContract]
        String GetSpecialnost(int idUspevDocs);




        [OperationContract]
        IEnumerable<DTO.Prepod> GetPrepods();

        [OperationContract]
        IEnumerable<DTO.Student> GetStudents();

        [OperationContract]
        IEnumerable<DTO.Group> GetGrupStud(int Idstud);


        [OperationContract]
        IEnumerable<DTO.Semestr> GetStudSemAndUchPlan(int Idstud, int IdGrup);

        [OperationContract]
        IEnumerable<DTO.Work> GetWork(int IdDis, int IdVid, int SemNum, int studId);

        [OperationContract]
        IEnumerable<DTO.ReqsWork> GetReqWorkANDLoadWork(int IdDis, int IdVid, int SemNum, int studId);

        [OperationContract]
        IEnumerable<DTO.godUP> GetGodUP();

        [OperationContract]
        IEnumerable<DTO.TypeSem> GetTypeSem();

        [OperationContract]
        IEnumerable<DTO.Group> GetGrupPrepodAndUchPlan(int IdGod, int IdTypeSem, int prepId);

        [OperationContract]
        IEnumerable<DTO.ReqsWork> GetReqWork(int IdGod, int IdTypeSem, int IdDis, int IdVid, int IdGrup,
                                                    int prepId);

        [OperationContract]
        IEnumerable<DTO.RefReq> GetReq();

        [OperationContract]
        void InsertReqWork(int NameGod, int IdUP, int idReq, string Expdoc);

        [OperationContract]
         void DeleteListReq(int IdListReq);

        [OperationContract]
         void InsertRefReq(string nameReq);

        [OperationContract]
         IEnumerable<DTO.Discipline> GetDis(int IdGod, int IdTypeSem, int IdGrup, int Idprep);


        [OperationContract]
         IEnumerable<DTO.VidWork> GetVid(int IdGod, int IdTypeSem, int IdGrup, int IdDis, int Idprep);

        [OperationContract]
         IEnumerable<DTO.Work> OtchetZar(int IdGod, int IdTypeSem, int IdGrup, int Idprep, int IdDis,
                                               int IdVid, DateTime data1, DateTime data2);

        [OperationContract]
        void SaveFile(int IdListReq, int IdWork, byte[] load);

        [OperationContract]
         void DeleteFile(int SistemNum);

        [OperationContract]
         void InsertWorkTheme(int IdUP, int IdZach, decimal? options, string theme);

        [OperationContract]
        void InsertWorkRegNum(int IdWork);

        [OperationContract]
        void UpdateWork(int IdWork, string theme, decimal? options);



        
    }
}